/*
 *  Arrow
 *
 *  Created by David Giovannini on 1/5/07.
 *  Copyright 2007 Software by Jove. All rights reserved.
 *
 */
 
#ifndef SBJ_Arrow_MessageHolderStat_h
#define SBJ_Arrow_MessageHolderStat_h

#include "SBJ/Time/Stat.h"

namespace SBJ
{

namespace Arrow
{

class MessageHolderStats
{
public:
	struct Result
	{
		int holds;
		int passes;
		int releases;
	};

	MessageHolderStats( void ) {}

	const Result& getResults( void ) const { return m_result; }

	void reset( void )
	{
		m_result.holds		= 0;
		m_result.passes		= 0;
		m_result.releases	= 0;
	}
	
	void accumeHold( void ) { ++m_result.holds; }
	void accumePass( void ) { ++m_result.passes; }
	void accumeRelease( void ) { ++m_result.releases; }

private:
	Result m_result;
};

}

}

#endif
